import request from '@/utils/request';
import { type Role } from '@/types/system/role';

/**
 * 获取角色列表
 * @returns 角色列表
 */
export function getRoleList() {
  return request<Role[]>({
    url: '/roles',
    method: 'get'
  });
}

/**
 * 获取角色详情
 * @param id 角色ID
 * @returns 角色详情
 */
export function getRoleDetail(id: number) {
  return request<Role>({
    url: `/roles/${id}`,
    method: 'get'
  });
}

/**
 * 创建角色
 * @param data 角色数据
 * @returns 角色ID
 */
export function createRole(data: Role) {
  return request<number>({
    url: '/roles',
    method: 'post',
    data
  });
}

/**
 * 更新角色
 * @param data 角色数据
 * @returns 是否成功
 */
export function updateRole(data: Role) {
  return request<boolean>({
    url: '/roles',
    method: 'put',
    data
  });
}

/**
 * 删除角色
 * @param id 角色ID
 * @returns 是否成功
 */
export function deleteRole(id: number) {
  return request<boolean>({
    url: `/roles/${id}`,
    method: 'delete'
  });
}
